<template>
  <div>
    <h1 :style="{ opacity: opacity }">React真难啊学不会</h1>
    <button @click="remove">卸载</button>
  </div>
</template>

<script>
export default {
  name: "App",
  data() {
    return {
      opacity: 1,
      interval: null
    };
  },
  methods: {
    remove() {
      //完全销毁一个实例 清理它与其他实例的连接 解绑他的全部指令及事件监听器
      this.$destroy()
    },
  },

  //生命周期中的this指向组件实例
  //初始化 虚拟Dom转化为真实Dom之后
  mounted() {
    this.interval =  setInterval(() => {
      this.opacity -= 0.1;
      if (this.opacity <= 0) {
        this.opacity = 1;
      }
    }, 300);
  },

  //组件卸载之前 清除定时器
  beforeDestroy(){
    clearInterval(this.interval)
  }

};
</script>

<style>
</style>